package cn.iocoder.yudao.module.product.selection.pojo.vo;

import cn.iocoder.yudao.framework.business.basic.pojo.vo.BaseVO;
import cn.iocoder.yudao.framework.thirdparty.zxhx.dto.ZXHXSpuDetailsRespDTO;
import cn.iocoder.yudao.framework.validation.Percent;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;

/**
 * <pre>
 * OOoO0OOoO0OOOooo0oOOOO0OOOOO0oooOO0ooOOO0Ooooo0OOOOo0ooooO0OOooo0Ooooo0OOOOO
 *  这里是文件说明
 * OOoO0OOoO0OOOooo0oOOOO0OOOOO0oooOO0ooOOO0Ooooo0OOOOo0ooooO0OOooo0Ooooo0OOOOO
 * </pre>
 *
 * @author 山野羡民（1032694760@qq.com）
 * @since 2025/03/11
 */
@Data
public class ProductSupplySelectionVO extends BaseVO {

    @Schema(description = "来源：0-自有、1-甄新汇选", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Integer source;

    @Schema(description = "产品编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "496")
    private Long spuId;

    @Schema(description = "产品名称", example = "优艺尚  舒柔云貂绒毯\\tU22-T008")
    private String spuName;

    @Schema(description = "产品主图", example = "\"https://img.zhenxinhuixuan.com/images/e2e48ed06b5582f53f555a1444a79ccc.png")
    private String spuPicUrl;

    @Schema(description = "产品三方链接，如京东商品详情页地址", example = "https://item.jd.com/10058718599437.html")
    private String spu3rdLink;

    @Schema(description = "分类编号", example = "40")
    private Long categoryId;

    @Schema(description = "分类名称", example = "床品套件")
    private String categoryName;

    @Schema(description = "品牌编号", example = "19")
    private Long brandId;

    @Schema(description = "品牌名称", example = "优艺尚")
    private String brandName;

    @Schema(description = "单位名称", example = "套")
    private String unitName;

    @Schema(description = "是否多规格", example = "false")
    private Boolean multiSpec;

    @Schema(description = "成本价，单位为分", example = "6150")
    private Integer costPrice;

    @Schema(description = "建议零售价，单位为分", example = "68800")
    private Integer marketPrice;

    @Schema(description = "库存", example = "888")
    private Integer stock;

    @Schema(description = "利润百分比（0-100）", example = "1018.70")
    private Double profitPercent;

    @Schema(description = "折扣，0-10之间的小数", example = "8")
    @Percent
    private Double discount;

    @Schema(description = "规格编号，多个之间逗号分隔", example = "1,2,3")
    private List<Long> skuIds;

    @Schema(description = "状态：1-已下架、2-已上架、3-已移除", example = "2")
    private Integer status;

    @Schema(description = "产品快照数据")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private ZXHXSpuDetailsRespDTO spuDetails;

}
